/*
============================================================================
 Name        : BlockSetFont.h
 Author      : \x{738b}\x{658c}
 Version     :
 Copyright   : \x{76ca}\x{76df}\x{8f6f}\x{4ef6}
 Description : CBlockSetFont declaration
============================================================================
*/

#ifndef BlockSetFont_H
#define BlockSetFont_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include "Block.h"
#include "Control.h"
// CLASS DECLARATION

/**
*  CBlockSetFont
* 
*/
class CBlockSetFont : public CBlock
{
public:
	~CBlockSetFont();

	static CBlockSetFont* NewL(CBaseBlock* bsBack);

	static CBlockSetFont* NewLC(CBaseBlock* bsBack);

	CBlockSetFont(CBaseBlock* bsBack);

private:
	void ConstructL();

public:
	//from CBlock
	void OnDraw(CFbsBitGc& g)const;

	void OnKeyEvent(const TInt& keyCode);

	void SizeChanged();
	
	void OnMouseDown(const TPoint& aPt);

	void OnMouseMove(const TPoint& aPt);
	
	void OnMouseUp(const TPoint& aPt);
	
	void OnInput(const TDesC8& strInput);

protected:
	void AddTabs();

	void BeforeDraw(CFbsBitGc& g) const;

public: // from MTabbarObserver
	void HandleTabbarCommand(TInt aCommand);

private:
	TInt m_nFont ;
	TInt m_nSpaceUp;
	TInt m_nSpaceDown;

	TInt m_nSize;
	TInt m_nCurrent;

	CControl* m_Ctrls[4];
#ifdef __SERIES60_3X__
	CSlider*	m_Slider;
#else
	CSelectBox* m_selBox;
#endif
	CCheckBox*  m_Checkbox;
	
	CSingleLineTextInput* m_inputSpaceUp;
	CSingleLineTextInput* m_inputSpaceDown;
};

#endif // BlockSetFont_H     
